//第三天错题集
//1.
#include <stdio.h>
int i;
void prt()
{
	for (i = 5; i < 8; i++)
		printf("%c", '*');
	printf("\t");
}
int main()
{
	for (i = 5; i <= 8; i++)
		prt();
	return 0;
}
//i为全局变量，在main函数中，i被初始化为5，后在prt函数中，打印“***”之后i变为8，'\t'之后
// 回到主函数，i == 8，继续执行循环qrt，但i == 8，不满足prt内的循环，故打印‘\t’后，程序结束
//所以最终结果为'***  ';

//2.
int main()
{
	int a = 3;
	printf("%d\n", (a += a -= a * a));
	return 0;
}
//(a += a -= a * a) = a = a + (a = a - a*a);
//所以先计算a = a - a * a = 3 - 3 * 3 = -6;此时，a已经等于-6，而不是3；
//再计算a = a +(a = a - a* a) = -6 + (-6) = -12;

//记负均正
//法一：
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int n = 0;
    while (scanf("%d", &n) != EOF)
    {
        //创建动态内存，用来存放n个整数
        int* arr = (int*)malloc(sizeof(int) * n);

        //计数器，统计负数的个数
        int negative = 0;

        //用来计算所有正整数之和
        double sum = 0.0;

        //用来统计正整数的个数
        int positive = 0;

        //用来判断是否用正整数
        int flag = 0;

        int i = 0;
        //输入n个数
        for (i = 0; i < n; i++)
        {
            scanf("%d", &arr[i]);
        }
        for (i = 0; i < n; i++)
        {
            if (arr[i] < 0)
            {
                negative += 1;
            }
            if (arr[i] > 0)
            {
                flag = 1;
                positive += 1;
                sum += arr[i];
            }
        }
        printf("%d %.1f", negative, flag ? sum / positive : 0);
    }
    return 0;
}

//法二：
#include <stdio.h>
int main()
{
    int n = 0;
    while (scanf("%d", &n) != EOF)
    {
        int tmp = 0;//输入n个整数
        int positive = 0;//统计正数个数
        int negative = 0;//统计负数个数
        float sum = 0;//计算正数之和
        int flag = 0;
        int i = 0;
        for (i = 0; i < n; i++)
        {
            scanf("%d", &tmp);
            if (tmp < 0)
            {
                negative += 1;
            }
            else if (tmp > 0)
            {
                flag = 1;
                sum += tmp;
                positive += 1;
            }
        }
        printf("%d %.1lf", negative, flag ? sum / positive : 0);
    }
    return 0;
}